PIN_avr.h

					
/*
 * Created: 30.01.2022
 *  Author: Bohdan
 */ 

#ifndef PIN_AVR_H_
#define PIN_AVR_H_

#include <avr/io.h>
#include <stdint.h>
#include "main.h"

typedef enum
{
	_PA = 0x00,
	_PB = 0x01,
	_PC = 0x02,
	_PD = 0x03
} my_ports_t;

typedef enum
{
	INPUT = 0x00,
	OUTPUT = 0x01
} pin_mode_t;

typedef struct
{
	my_ports_t port;
	uint8_t pin;
} pin_t;

void pin_mode(pin_t Pin, pin_mode_t mode);
void pin_write(pin_t Pin, my_bool state);
void pin_toggle(pin_t Pin);
my_bool pin_read(pin_t Pin);

#endif /* PIN_AVR_H_ */